The present invention relates to watchdog timers for processors, such as microprocessors, and, more particularly, to a dual input watchdog timer which can monitor two different software modules in the processor so that a failure in any software module will be detected and result in reset or reinitialization of the processor.
The watchdog timing function in microprocessor applications, for example, is designed to monitor the microprocessor operation and to provide a reset or reinitialization signal to the microprocessor should a failure in the microprocessor occur. The watchdog timer in such a system usually receives periodic pulses from a software module in the microprocessor and is continuously reset by these periodic pulses. If a failure in the microprocessor should occur, the microprocessor no longer supplies these periodic pulses to the watchdog timer allowing the watchdog timer to supply an output pulse which is connected to the reset or reinitialization terminal of the microprocessor.
There is a failure mode which defeats this type of watchdog timing function. If the failure occurs such that the software module which generates the periodic pulses to the watchdog timer operates in a loop which excludes some or all of the other software modules, the watchdog timer assumes that the microprocessor is performing normally and will not generate the reset or reinitialization pulse. Copending patent application Ser. No. 308,703 discloses a system which monitors various points in the program memory to generate a serial data word to a cyclic redundancy checker. The cyclic redundancy checker is designed to require a periodic specific bit pattern which pattern is made up of bits selected from various locations in the program memory. In this way, a failure in a particular program memory location will not by itself defeat the watchdog timing function. However, the system shown in this copending application, while necessary in some applications, such as those where a failure can be hazardous, is overly complicated for other applications.